// PM2进程管理配置文件
module.exports = {
  apps: [{
    // 应用名称
    name: 'voice-community',
    
    // 启动脚本
    script: './server.js',
    
    // 实例数量（1个即可，如需负载均衡可设置为'max'）
    instances: 1,
    
    // 执行模式（fork或cluster）
    exec_mode: 'fork',
    
    // 环境变量
    env: {
      NODE_ENV: 'production',
      PORT: 3001
    },
    
    // 日志配置
    error_file: './logs/err.log',
    out_file: './logs/out.log',
    log_file: './logs/combined.log',
    log_date_format: 'YYYY-MM-DD HH:mm:ss Z',
    merge_logs: true,
    
    // 性能配置
    max_memory_restart: '500M',  // 内存超过500M自动重启
    min_uptime: '10s',            // 最小运行时间
    max_restarts: 10,             // 最大重启次数
    
    // 监控配置
    watch: false,                 // 不监听文件变化（生产环境）
    autorestart: true,            // 自动重启
    
    // 时间配置
    restart_delay: 4000,          // 重启延迟4秒
    
    // 进程信息
    instance_var: 'INSTANCE_ID',
    
    // cron重启（可选，每天凌晨3点重启）
    // cron_restart: '0 3 * * *',
    
    // 忽略监听的目录（如果启用watch）
    ignore_watch: [
      'node_modules',
      'uploads',
      'logs',
      'dist',
      '.git'
    ]
  }]
};

